@不喜丶不悲
3年前 提问
1个回答

python运算符优先级由高到低

Anna艳娜
3年前

Python中运算符优先级,括号的优先级是最高的,无论任何时候优先计算括号里面的内容,逻辑运算符的优先级最低。算术运算符可以分为四种,幂运算最高,其次是正负号,然后是 “* / // %”,最后才是加减“+ -”。以下运算符按从上到下,优先级从高到低排列,同行为相同优先级,相同优先级需要考虑结合性:

  • 括号:()

  • 幂运算:**

  • 按位取反:~

  • 正号、负号:+、-

  • 乘、除、取模、取整除:* 、/、 %、 //

  • 加、减:+ 、-

  • 右移、左移:>> 、<<

  • 按位“与”:&

  • 按位“异或”,按位“或”:^ 、|

  • 比较运算符:<= 、< 、>、 >=

  • 等于、不等于:==、!=

  • 赋值运算符:=、%=、/=、//=、-=、+=、*=、**=

  • 身份运算符:is、is not

  • 成员运算符:in、not in

  • 逻辑运算符:and or not

虽然Python运算符存在优先级的关系,但写程序时不建议写很长的表达式,建议写程序时,遵守以下两点原则:

  • 尽量不要把一个表达式写的过长过于复杂,如果计算过程的确需要,可以尝试将它拆分几部分来写。

  • 尽量多使用()来控制运算符的执行顺序,使用()可以让运算的先后顺序变得十分清楚。